Secure Coding Practices in Java: Challenges and Vulnerabilities

نویسندگان

  • Na Meng
  • Stefan Nagy
  • Daphne Yao
  • Wenjie Zhuang
  • Gustavo Arango Argoty
چکیده

Java platform and third-party libraries provide functionalities to facilitate secure coding. However, misusing these functionalities can cost developers tremendous time and effort, or introduce security vulnerabilities in software. Prior research focused on the misuse of cryptography and SSL APIs, but did not explore the fundamental research question: what are the biggest challenges and vulnerabilities in secure coding practices? In this paper, we conducted a broader empirical study on StackOverflow posts to understand developers’ concerns on Java secure coding, their programming obstacles, and the potential vulnerabilities in their code. We observed that developers have shifted their effort to the usage of authentication and authorization features provided by Spring Security—a third-party framework designed to secure enterprise applications. The programming challenges are all related to APIs or libraries, including the complicated cross-language data handling of cryptography APIs, and the complex Java-based or XML-based approaches to configure Spring Security. More interestingly, we identified security vulnerabilities in the suggested code of accepted answers. The vulnerabilities included using insecure hash functions (e.g., MD5), breaking SSL/TLS security through bypassing certificate validation, and insecurely disabling the default protection against Cross Site Request Forgery attacks. Our findings reveal the insufficiency of secure coding assistance and documentation, as well as the gap between security theory and coding practices.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Supporting secure programming in web applications through interactive static analysis

Many security incidents are caused by software developers' failure to adhere to secure programming practices. Static analysis tools have been used to detect software vulnerabilities. However, their wide usage by developers is limited by the special training required to write rules customized to application-specific logic. Our approach is interactive static analysis, to integrate static analysis...

متن کامل

Secure network coding for wireless mesh networks: Threats, challenges, and directions

In recent years, network coding has emerged as a new communication paradigm that can significantly improve the efficiency of network protocols by requiring intermediate nodes to mix packets before forwarding them. Recently, several real-world systems have been proposed to leverage network coding in wireless networks. Although the theoretical foundations of network coding are well understood, a ...

متن کامل

Integrating Security Testing into Quality Control

At a time when 82% of all application vulnerabilities are found in web applications 1 , CIOs are looking for traditional and non-traditional approaches to reduce the number of vulnerabilities present in their application assets. Traditional approaches can range from training developers in secure coding practices to hiring professional security testers. This paper focuses on a non-traditional ap...

متن کامل

Course Modules for Software Security

Each year the reported number of security vulnerabilities increases as does the sophistication of attacks to exploit these vulnerabilities. Most security vulnerabilities are the result of insecure coding practices. There is a critical need to increase the security education of computer science students, particularly in software security. We are designing course modules, to be used at the underg...

متن کامل

Network Coding Security: Attacks and Countermeasures

By allowing intermediate nodes to perform non-trivial operations on packets, such as mixing data from multiple streams, network coding breaks with the ruling store and forward networking paradigm and opens a myriad of challenging security questions. Following a brief overview of emerging network coding protocols, we provide a taxonomy of their security vulnerabilities, which highlights the diff...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1709.09970  شماره 

صفحات  -

تاریخ انتشار 2017